<template>
  <uploadExcel :onSuccess="success"></uploadExcel>
</template>
<script>
// 导入批量导入员工函数
import { batchAddEmp } from '@/api/employees'
export default {
  //
  methods: {
    // 导入成功的回调函数，把导入的文件的新作为参数传给success，里面有header表头和results表单信息两个重要的数组
    async success ({ header, results }) {
      // 导入员工的表头和数据的对应关系
      const userRelations = {
        入职日期: 'timeOfEntry',
        手机号: 'mobile',
        姓名: 'username',
        转正日期: 'correctionTime',
        工号: 'workNumber'
      }
      // 定义一个数组，用来存放处理后的数据
      const arr = []
      console.log(results)
      // 遍历results，取出里面的值
      results.forEach(item => {
        const userInfo = {}
        Object.keys(item).forEach(key => {
          // 用userRelations中的键对应的值作为userinfo的数组的键
          // 用返回的表单信息results中的对应的值作为userInfo的值
          /**
           * 对日期格式进行处理
           */
          if (key == '入职日期' || key == '转正日期') {
            // 得到了日期的时间戳
            let newdata = (item[key] - 1) * 24 * 60 * 60 * 1000
            // 转化成常规的日期格式
            newdata = new Date(newdata)
            // 将年减70
            let year = new Date(newdata).getFullYear() - 70
            // 修改年
            newdata.setFullYear(year)
            // 赋值给当前的时间
            userInfo[userRelations[key]] = newdata
          } else {
            userInfo[userRelations[key]] = item[key]
          }
        })
        // 把遍历到的行的数据push到提前准备好的数组中
        arr.push(userInfo)
      })
      //完成了数据处理，调用批量导入员工函数，将处理后的数据作为参数
      // console.log(arr)
      await batchAddEmp(arr)
      //路由跳转回去
      this.$router.back()
    }
  }
}
</script>

<style></style>
